/***Intro***/ EventManager Event PPC OSEvent
Intro(2e)

【名前】
	Intro - Toolbox: イベント関連（man2e.hlp）

【概要】

【関連項目】

【Inside Macintosh】
							<< キーワード >>
	Event Manager					EventManager
		I-241		Toolbox Event
		II-65		OS Event
		IV-85		OS Event	若干の追加 (転記済み)
		V-189		Toolbox Event	若干の追加
		VI-5(Part 1)	Event Manager

	OS Event Manager				OSEvent
		II-65
		IV-85		PPostEvent() の追加

	Apple Event Manager				AppleEvent
		VI-6(Part 1)	Apple Event Manager

	PPC Toolbox					PPCToolbox
		VI-7(Part 1)

【ヘッダー】
	Events.h
	OSEvents.h
	EPPC.h

	AppleEvent.h

	PPCToolbox.h

【残り】
	AppleEvent
	PPC Toolbox
/***WaitNextEvent***/ GetNextEvent EventAvail EventRecord KeyTrans EventManager
WaitNextEvent(2e)

【名前】
	WaitNextEvent - 次のイベントを待つ(Multi Finder用)
	GetNextEvent  - 次のイベントを待つ(Uni Finder用)
	EventAvail    - 処理されたものをもう一度使う
	KeyTrans      - キーコードを ASCII 値に変換
	EventRecord   - Event レコード data type

【書式】
	■WaitNextEvent	VI-5-29
	■GetNextEvent	I-257
	■EventAvail	I-259
	■KeyTrans	V-195

	Boolean	WaitNextEvent(short eventMask, EventRecord *theEvent,
			unsigned long sleep, RgnHandle mouseRgn);
	Boolean	GetNextEvent(short eventMask, EventRecord *theEvent);
			sleep:	
			mouseRgn:

	Boolean	EventAvail(short eventMask, EventRecord *theEvent);
			GetNextEventと同じですが、処理されたものをもう一度使う

	long	KeyTrans(const void *transData, short keycode, long *state);

	■EventRecord	I-249 (VI-5-19)
	  EventRecord
		short	what;
		long	message;
		long	when;
		Point	where;
		short	modifiers;

		** what
			0  nullEvent
			1  mouseDown
			2  mouseUp
			3  keyDown
			4  keyUp
			5  autoKey
			6  updateEvt
			7  diskEvt
			8  activateEvt
			15 osEvt
			23 kHighLevelEvent

	■イベントマスク
		     2 mDownMask
		     4 mUpMask
		     8 keyDownMask
		    16 keyUpMask
		    32 autoKeyMask
		    64 updateMask
		   128 diskMask
		   256 activMask
		  1024 highLevelEventMask
		-32768 osMask
		    -1 everyEvent

	■event message equates
		0x000000ff charCodeMask
		0x0000ff00 keyCodeMask
		0x00ff0000 adbAddrMask
		0xff000000 osEvtMessageMask

	■OSEvent Messages
		0xfa  mouseMovedMessage
		0x01  suspendResumeMessage
		   1  resumeFlag
		   2  convertClipboardFlag

	■キーモディファイア
		   1 activeFlag
		 128 btnState
		 256 cmdKey
		 512 shiftKey
		1024 alphaLock
		2048 optionKey
		4096 controlKey
/***GetMouse***/ Button StillDown WaitMouseUp GetKeys KeyMap EventManager
GetMouse(2e)

【名前】
	GetMouse    - マウスのローカル座標を返す
	Button      - マウスボタンが押されていればTRUE
	StillDown   - マウスイベントの後でなければTRUE
	WaitMouseUp - 
	GetKeys     - 現在のキーダウン状態を返す

【書式】
	■GetMouse	I-259
	■Button	I-259
	■StillDown	I-259
	■WaitMouseUp	I-259
	■GetKeys	I-259
	■KeyMap	I-260

	void	GetMouse(Point *mouseLoc);
	Boolean	Button(void);

	Boolean	StillDown(void);
			マウスイベントの後でなければTRUE

	Boolean	WaitMouseUp(void);
			StillDownが成立しなかったら、マウスアップイベントを
			取り除く

	void	GetKeys(KeyMap theKeys);
			現在のキーダウン状態を返す

		KeyMap データタイプ	long[4]		ビット情報

		キーコード
			I-251	Macintosh 512K(オリジナル)
			V-191	Macintosh Plus, II
			V-
/***TickCount***/ Delay GetDblTime GetCaretTime EventManager
TickCount(2e)

【名前】
	TickCount    - システムを起動してからの時間を返す（チック単位）
	Delay        - 一定時間待つ
	GetDblTime   - ダブルクリック時間のチック値を取得
	GetCaretTime - テキスト入力バーの点滅速度のチック値を取得

【書式】
	■TickCount	I-260
	■Delay		II-384 (OS Utilities)

	unsigned long	TickCount(void);
	void	Delay(long numTicks, long *finalTicks);

	unsigned long	GetDblTime(void);
	unsigned long	GetCaretTime(void);
#
#
#
/***PostEvent***/ PPostEvent EvQEl EvQElPtr OSEvent
PostEvent(2e)

【名前】
	PostEvent  - イベントをポスト
	PPostEvent - イベントをポスト
	EvQEl      - data type

【書式】
	■PostEvent
	■PPostEvent

	OSErr	PostEvent(short eventNum, long eventMsg);
	OSErr	PPostEvent(short eventCode, long eventMsg, EvQElPtr *qEl);
			what    - eventNum
			message - eventMsg
			とするイベントを発生させる

	■EvQEl		II-71
	  EvQEl
		QElemPtr qLink;
		short	qType;
		short	evtQWhat;
		long	evtQMessage;
		long	evtQWhen;
		Point	evtQWhere;
		short	evtQModifiers;
	  EvQElPtr	EvQEl *
/***OSEventAvail***/ GetOSEvent FlushEvents SetEventMask OSEvent
OSEventAvail(2e)

【名前】
	OSEventAvail - EventAvailのOSEvent版
	GetOSEvent   - eventMaskのイベントのうち最も最近に起きたものを返す
	FlushEvents  - stopMaskイベントが出るまで、eventMaskイベントを無視する
	SetEventMask - theMaskのタイプのイベントだけが登録されるようになる

【書式】
	■OSEventAvail	II-70
	■GetOSEvent	II-69
	■FlushEvents	II-69
	■SetEventMask	II-70

	Boolean	OSEventAvail(short mask, EventRecord *theEvent);

		EventAvailのOSEvent版

	Boolean	GetOSEvent(short mask, EventRecord *theEvent);
		eventMaskのイベントのうち最も最近に起きたものを返す

	void	FlushEvents(short whichMask, short stopMask);
		stopMaskイベントが出るまで、eventMaskイベントを無視する

	void	SetEventMask(short theMask);
		theMaskのタイプのイベントだけが登録されるようになる
#
#
#
/***PostHighLevelEvent***/ AcceptHighLevelEvent GetProcessSerialNumberFromPortName GetPortNameFromProcessSerialNumber GetSpecificHighLevelEvent GetSpecificFilterProcPtr EventManager
PostHighLevelEvent(2e)

【名前】
	PostHighLevelEvent   -
	AcceptHighLevelEvent -
	GetProcessSerialNumberFromPortName -
	GetPortNameFromProcessSerialNumber -
	GetSpecificHighLevelEvent -

【書式】
	■AcceptHighLevelEvent			VI-5-30
	■PostHighLevelEvent			VI-5-30
	■GetSpecificHighLevelEvent		VI-5-31
	■GetProcessSerialNumberFromPortName	VI-5-32
	■GetPortNameFromProcessSerialNumber	VI-5-32

	OSErr	AcceptHighLevelEvent(TargetID *sender, ulong *msgRefcon,
			Ptr msgBuff, ulong *msgLen);

	OSErr	PostHighLevelEvent(const EventRecord *theEvent,
			ulong receiverID, ulong msgRefcon, Ptr msgBuff,
			ulong msgLen, ulong postingOptions);

	Boolean	GetSpecificHighLevelEvent(GetSpecificFilterProcPtr aFilter,
			void *yourDataPtr, OSErr *err);

	OSErr	GetProcessSerialNumberFromPortName(const PPCPortPtr portName,
			ProcessSerialNumberPtr pPSN);

	OSErr	GetPortNameFromProcessSerialNumber(PPCPortPtr portName,
			const ProcessSerialNumberPtr pPSN);


	■GetSpecificFilterProcPtr
	  pascal Boolean (*GetSpecificFilterProcPtr)
					(void *yourDataPtr,
	 				HighLevelEventMsgPtr msgBuff,
	 				const TargetID *sender);
/***TargetID***/ TargetIDPtr TargetIDHdl SenderID SenderIDPtr EventManager
TargetID(2e)

【名前】
	TargetID -
	SenderID -

【形式】
	■TargetID	VI-5-22
	  TargetID
		long		sessionID;
		PPCPortRec	name;
		LocationNameRec	location;
		PPCPortRec	recvrName;
	  TargetIDPtr	TargetID *
	  TargetIDHdl	TargetID **

	■SenderID	VI-5-22
	  SenderID	TargetID
	  SenderIDPtr	SenderID *
/***HighLevelEventMsg***/ HighLevelEventMsgPtr HighLevelEventMsgHdl EventManager
HighLevelEventMsg(2e)

【名前】
	HighLevelEventMsg -

【形式】
	■HighLevelEventMsg	VI-5-28

	  HighLevelEventMsg
		ushort		HighLevelEventMsgHeaderLength;
		ushort		version;
		ulong		reserved1;
		EventRecord	theMsgEvent;
		ulong		userRefcon;
		ulong		postingOptions;
		ulong		msgLength;

	  HighLevelEventMsgPtr	HighLevelEventMsg *
	  HighLevelEventMsgHdl	HighLevelEventMsg **
#
#
#
/***AppleEventManager***/ AEKeyword AEEventClass AEEventID DescType AEAddressDesc AEDescList AERecord AppleEvent AEInteractAllowed AEEventSource EventHandlerProcPtr IdleProcPtr EventFilterProcPtr AEDesc AEKeyDesc AEArrayType AEArrayData AEArrayDataPointer AppleEvent
AppleEventManager(2e)

【名前】
	AppleEventManager - Appleイベントマネージャーの概要
	AEDesc		  - data type
	AEKeyDesc	  - data type
	AEArrayData	  - data type

【解説】
	■Apple Event Manager	VI-6(Part 1)

【基本データ型の解説】
	#include <AppleEvent.h>

	■AEEventClass, AEEventID	VI-6-9
	  AEEventClass	ulong	イベントクラス
	  AEEventID	ulong	イベントID

	  kCoreEventClass	'aevt'		<< コア AppleEvent >>
		kAEOpenApplication	'oapp'	Open Application
		kAEOpenDocuments	'odoc'	Open Documents
		kAEPrintDocuments	'pdoc'	Print Documents
		kAEQuitApplication	'quit'	Quit Application

		kAEAnswer		'ansr'	リプライ Appleイベント
		kAEApplicationDied	'obit'	Application Diedイベント

###
	kAECreatorType		'crea'
	kAEQuitAll		'quia'
	kAEShutDown		'shut'
	kAERestart		'rest'

	■DescType	VI-6-9
	  DescType	ResType		ディスクリプタタイプ

	  <<数値, 真偽値>>
	  'bool'	typeBoolean		Boolean
	  'true'	typeTrue		TRUE / true
	  'fals'	typeFalse		FLASE / false

	  'shor'	typeShortInteger	short
				typeSMInt
	  'long'	typeLongInteger		long
				typeInteger
	  'magn'	typeMagnitude		unsigned long
	  'sing'	typeShortFloat		float
				typeSMFloat
	  'doub'	typeLongFloat		double
				typeFloat
	  'exte'	typeExtended		extended
	  'comp'	typeComp		comp

	  << >>
	  'TEXT'	typeChar		文字列

	  'list'	typeAEList
	  'reco'	typeAERecord

	  'alis'	typeAlias		alias record
	  'enum'	typeEnumerated
	  'type'	typeType		イベント Class/ID
	  'appa'	typeAppParameters
	  'prop'	typeProperty
	  'fss '	typeFSS			FSSpec
	  'keyw'	typeKeyword
	  'sect'	typeSectionH
	  '****'	typeWildCard

	  'sign'	typeApplSignature
	  'ssid'	typeSessionID
	  'targ'	typeTargetID
	  'psn '	typeProcessSerialNumber	ProcessSerialNumber
	  'null'	typeNull

	■AEKeyword	VI-6-9
	  AEKeyword	ulong

	  キーワード [Appleイベントパラメータ]
	  keyDirectObject	'----'
	  keyErrorNumber	'errn'
	  keyErrorString	'errs'
	  keyProcessSerialNumber 'psn '

	  キーワード [Appleイベントアトリビュート]
	  keyTransactionIDAttr	'tran'
	  keyReturnIDAttr	'rtid'
	  keyEventClassAttr	'evcl'
	  keyEventIDAttr	'evid'
	  keyAddressAttr	'addr'
	  keyOptionalKeywordAttr 'optk'
	  keyTimeoutAttr	'timo'
	  keyInteractLevelAttr	'inte'
	  keyEventSourceAttr	'esrc'
	  keyMissedKeywordAttr	'miss'

	  キーワード [スペシャルハンドラ]
	  keyPreDispatch	'phac'
	  keySelectProc		'selh'


	AEInteractAllowed	uchar
	AEEventSource	uchar

	EventHandlerProcPtr	ProcPtr
	IdleProcPtr		ProcPtr
	EventFilterProcPtr	ProcPtr

	■AEDesc	VI-6-9 ～ 12
	  AEDesc
		DescType descriptorType;
		Handle	dataHandle;

	  AEAddressDesc	AEDesc
	  AEDescList	AEDesc		(AEDesc と同じ)
	  AERecord	AEDescList	(AEDesc と同じ)
	  AppleEvent	AERecord	(AEDesc と同じ)

	■AEKeyDesc
	  AEKeyDesc
		AEKeyword descKey;
		AEDesc	descContent;

	■AEArrayType	uchar

	■AEArrayData	??
	  AEArrayData
		union AEArrayData {
			short	AEDataArray[1];
			char	AEPackedArray[1];
			Handle	AEHandleArray[1];
			AEDesc	AEDescArray[1];
			AEKeyDesc AEKeyDescArray[1];
		}
	  AEArrayDataPointer	AEArrayData *
/***AEInstallEventHandler***/ AEGetEventHandler AERemoveEventHandler AEProcessAppleEvent AppleEvent
AEInstallEventHandler(2e)

【名前】
	AEInstallEventHandler -
	AEGetEventHandler     -
	AERemoveEventHandler  -
	AEProcessAppleEvent   -

【形式】
	■AEInstallEventHandler	VI-6-73
	■AEGetEventHandler	VI-6-74
	■AERemoveEventHandler	VI-6-74
	■AEProcessAppleEvent	VI-6-74

	OSErr	AEInstallEventHandler(AEEventClass theAEEventClass,
			AEEventID theAEEventID, EventHandlerProcPtr handler,
			long handlerRefcon, Boolean isSysHandler)

	OSErr	AEGetEventHandler(AEEventClass theAEEventClass,
			AEEventID theAEEventID, EventHandlerProcPtr *handler,
			long *handlerRefcon, Boolean isSysHandler)

	OSErr	AERemoveEventHandler(AEEventClass theAEEventClass,
			AEEventID theAEEventID, EventHandlerProcPtr handler,
			Boolean isSysHandler)

	OSErr	AEProcessAppleEvent(const EventRecord *theEventRecord)
/***AEGetParamPtr***/ AEGetParamDesc AEGetAttributePtr AEGetAttributeDesc AECountItems AEGetNthPtr AEGetNthDesc AEGetArray AEGetKeyPtr AEGetKeyDesc AppleEvent
AEGetParamPtr(2e)

【名前】
	AEGetParamPtr      -
	AEGetParamDesc     -
	AEGetAttributePtr  -
	AEGetAttributeDesc -
	AECountItems       -
	AEGetNthPtr        -
	AEGetNthDesc       -
	AEGetArray         -
	AEGetKeyPtr        -
	AEGetKeyDesc       -

【形式】
	■VI-6-76 ～ 82

	OSErr	AEGetParamPtr(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType desiredType,
			DescType *typeCode, Ptr dataPtr, Size maximumSize,
			Size *actualSize)

	OSErr	AEGetParamDesc(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType desiredType,
			AEDesc *result)

	OSErr	AEGetAttributePtr(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType desiredType,
			DescType *typeCode, Ptr dataPtr, Size maximumSize,
			Size *actualSize)

	OSErr	AEGetAttributeDesc(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType desiredType,
			AEDesc *result)

	OSErr	AECountItems(const AEDescList *theAEDescList, long *theCount)

	OSErr	AEGetNthPtr(const AEDescList *theAEDescList, long index,
			DescType desiredType, AEKeyword *theAEKeyword,
			DescType *typeCode, Ptr dataPtr, Size maximumSize,
			Size *actualSize)

	OSErr	AEGetNthDesc(const AEDescList *theAEDescList, long index,
			DescType desiredType, AEKeyword *theAEKeyword,
			AEDesc *result)

	OSErr	AEGetArray(const AEDescList *theAEDescList,
			AEArrayType arrayType, AEArrayDataPointer arrayPtr,
			Size maximumSize, DescType *itemType, Size *itemSize,
			long *itemCount)

	OSErr	AEGetKeyPtr(const AERecord *theAERecord,
			AEKeyword theAEKeyword, DescType desiredType,
			DescType *typeCode, Ptr dataPtr, Size maximumSize,
			Size *actualSize)

	OSErr	AEGetKeyDesc(const AERecord *theAERecord,
			AEKeyword theAEKeyword, DescType desiredType,
			AEDesc *result)
/***AESetInteractionAllowed***/ AEGetInteractionAllowed AEInteractWithUser AppleEvent
AESetInteractionAllowed(2e)

【名前】
	AESetInteractionAllowed -
	AEGetInteractionAllowed -
	AEInteractWithUser      -

【形式】
	■VI-6-83

	OSErr	AESetInteractionAllowed(AEInteractAllowed level)

	OSErr	AEGetInteractionAllowed(AEInteractAllowed *level)

	OSErr	AEInteractWithUser(long timeOutInTicks, NMRecPtr nmReqPtr,
			IdleProcPtr idleProc)

		kAEInteractWithSelf	同じアプリケーションの時のみ
		kAEInteractWithLocal	同じコンピュータ上の時のみ
		kAEInteractWithAll	全ての場合に許可される
/***AEResetTimer***/ AESuspendTheCurrentEvent AEResumeTheCurrentEvent AESetTheCurrentEvent AEGetTheCurrentEvent AppleEvent
AEResetTimer(2e)

【名前】
	AEResetTimer             - タイムアウト値をリセット  [for Server]
	AESuspendTheCurrentEvent - Appleイベントのサスペンド [for Server]
	AEResumeTheCurrentEvent  - Appleイベントのリジューム [for Server]
	AESetTheCurrentEvent     -
	AEGetTheCurrentEvent     -

【形式】
	■VI-6-84

	OSErr	AEResetTimer(const AppleEvent *reply)

	OSErr	AESuspendTheCurrentEvent(const AppleEvent *theAppleEvent)

	OSErr	AEResumeTheCurrentEvent(const AppleEvent *theAppleEvent,
			const AppleEvent *reply,
			EventHandlerProcPtr dispatcher, long handlerRefcon)

		  dispatcher =
			ハンドラへのポインタ
			0  kAENoDispatch
			-1 kAEUseStandardDispatch

	OSErr	AESetTheCurrentEvent(const AppleEvent *theAppleEvent)

	OSErr	AEGetTheCurrentEvent(AppleEvent *theAppleEvent)
/***AECreateAppleEvent***/ AECreateDesc AEDuplicateDesc AECreateList AEPutPtr AEPutDesc AEPutArray AEPutKeyPtr AEPutKeyDesc AEPutParamPtr AEPutParamDesc AEPutAttributePtr AEPutAttributeDesc AppleEvent
AECreateAppleEvent(2e)

【名前】
	AECreateAppleEvent -
	AECreateDesc       -
	AEDuplicateDesc    -
	AECreateList       -
	AEPutPtr           -
	AEPutDesc          -
	AEPutArray         -
	AEPutKeyPtr        -
	AEPutKeyDesc       -
	AEPutParamPtr      -
	AEPutParamDesc     -
	AEPutAttributePtr  -
	AEPutAttributeDesc -

【形式】
	■VI-6-87

	OSErr	AECreateAppleEvent(AEEventClass theAEEventClass,
			AEEventID theAEEventID, const AEAddressDesc *target,
			short returnID, long transactionID, AppleEvent *result)

			0  kAnyTransactionID
			-1 kAutoGenerateReturnID

	OSErr	AECreateDesc(DescType typeCode, Ptr dataPtr, Size dataSize,
			AEDesc *result)

	OSErr	AEDuplicateDesc(const AEDesc *theAEDesc, AEDesc *result)

	OSErr	AECreateList(Ptr factoringPtr, Size factoredSize,
			Boolean isRecord, AEDescList *resultList)

	OSErr	AEPutPtr(const AEDescList *theAEDescList, long index,
			DescType typeCode, Ptr dataPtr, Size dataSize)

	OSErr	AEPutDesc(const AEDescList *theAEDescList, long index,
			const AEDesc *theAEDesc)

	OSErr	AEPutArray(const AEDescList *theAEDescList,
			AEArrayType arrayType, AEArrayDataPointer arrayPtr,
			DescType itemType, Size itemSize, long itemCount)

	OSErr	AEPutKeyPtr(const AERecord *theAERecord,
			AEKeyword theAEKeyword, DescType typeCode, Ptr dataPtr,
			Size dataSize)

	OSErr	AEPutKeyDesc(const AERecord *theAERecord,
			AEKeyword theAEKeyword, const AEDesc *theAEDesc)

	OSErr	AEPutParamPtr(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType typeCode, Ptr dataPtr,
			Size dataSize)

	OSErr	AEPutParamDesc(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, const AEDesc *theAEDesc)

	OSErr	AEPutAttributePtr(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType typeCode, Ptr dataPtr,
			Size dataSize)

	OSErr	AEPutAttributeDesc(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, const AEDesc *theAEDesc)
/***AESend***/ AESendMode AESendPriority AppleEvent
AESend(2e)

【名前】
	AESend -

【形式】
	■VI-6-94

	OSErr	AESend(const AppleEvent	*theAppleEvent,
			AppleEvent	*reply,
			AESendMode	sendMode,
			AESendPriority	sendPriority,
			long		timeOutInTicks,
			IdleProcPtr	idleProc,
			EventFilterProcPtr filterProc)

	■AESendMode	VI-6-??
	  AESendMode	long
	    リプライモード(どれか一つ)
		kAENoReply		0x00000001
		kAEQueueReply		0x00000002
		kAEWaitReply		0x00000003

	    ユーザインタラクションリファレンス(どれか一つ)
		kAENeverInteract	0x00000010
		kAECanInteract		0x00000020
		kAEAlwaysInteract	0x00000030

	    補助モード(任意)
		kAECanSwitchLayer	0x00000040
		kAEDontReconnect	0x00000080
		kAEWantReceipt		nReturnReceipt

	■AESendPriority
	  AESendPriority	short
		kAENormalPriority	0x00000000
		kAEHighPriority		nAttnMsg

	timeOutInTicks
		-1	kAEDefaultTimeout
		-2	kNoTimeOut
		その他	指定チック値
/***AESizeOfNthItem***/ AESizeOfKeyDesc AESizeOfParam AESizeOfAttribute AEDeleteItem AEDeleteKeyDesc AEDeleteParam AEDisposeDesc AppleEvent
AESizeOfNthItem(2e)

【名前】
	AESizeOfNthItem   -
	AESizeOfKeyDesc   -
	AESizeOfParam     -
	AESizeOfAttribute -
	AEDeleteItem      -
	AEDeleteKeyDesc   -
	AEDeleteParam     -
	AEDisposeDesc     -

【形式】
	■VI-6-97

	OSErr	AESizeOfNthItem(const AEDescList *theAEDescList, long index,
			DescType *typeCode, Size *dataSize)

	OSErr	AESizeOfKeyDesc(const AERecord *theAERecord,
			AEKeyword theAEKeyword, DescType *typeCode,
			Size *dataSize)

	OSErr	AESizeOfParam(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType *typeCode,
			Size *dataSize)

	OSErr	AESizeOfAttribute(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword, DescType *typeCode,
			Size *dataSize)

	OSErr	AEDeleteItem(const AEDescList *theAEDescList, long index)

	OSErr	AEDeleteKeyDesc(const AERecord *theAERecord,
			AEKeyword theAEKeyword)

	OSErr	AEDeleteParam(const AppleEvent *theAppleEvent,
			AEKeyword theAEKeyword)

	OSErr	AEDisposeDesc(AEDesc *theAEDesc)
/***AECoercePtr***/ AECoerceDesc AEInstallCoercionHandler AEGetCoercionHandler AERemoveCoercionHandler AppleEvent
AECoercePtr(2e)

【名前】
	AECoercePtr              - ディスクリプタタイプの型変換
	AECoerceDesc             -
	AEInstallCoercionHandler -
	AEGetCoercionHandler     -
	AERemoveCoercionHandler  -

【形式】
	■VI-6-100

	OSErr	AECoercePtr(DescType typeCode, Ptr dataPtr, Size dataSize,
			DescType toType, AEDesc *result)

	OSErr	AECoerceDesc(const AEDesc *theAEDesc, DescType toType,
			AEDesc *result)
	OSErr	AEInstallCoercionHandler(DescType fromType, DescType toType,
			ProcPtr handler, long handlerRefcon,
			Boolean fromTypeIsDesc, Boolean isSysHandler);

	OSErr	AEGetCoercionHandler(DescType fromType, DescType toType,
			ProcPtr *handler, long *handlerRefcon,
			Boolean *fromTypeIsDesc, Boolean isSysHandler);

	OSErr	AERemoveCoercionHandler(DescType fromType, DescType toType,
			ProcPtr handler, Boolean isSysHandler);
/***AEInstallSpecialHandler***/ AEGetSpecialHandler AERemoveSpecialHandler AppleEvent
AEInstallSpecialHandler(2e)

【名前】
	AEInstallSpecialHandler -
	AEGetSpecialHandler     -
	AERemoveSpecialHandler  -

【形式】
	■VI-6-104

	OSErr	AEInstallSpecialHandler(AEKeyword functionClass,
			ProcPtr handler, Boolean isSysHandler);

	OSErr	AEGetSpecialHandler(AEKeyword functionClass, ProcPtr *handler,
			Boolean isSysHandler);

	OSErr	AERemoveSpecialHandler(AEKeyword functionClass,
			ProcPtr handler, Boolean isSysHandler);
#
#
#
/***PPCInit***/ PPCOpen PPCOpenSync PPCOpenAsync PPCOpenPBRec PPCOpenPBPtr PPCToolbox
PPCInit(2e)

【名前】
	PPCInit      -
	PPCOpen      -
	PPCOpenSync  -
	PPCOpenAsync -

【書式】
	OSErr	PPCInit(void);

	OSErr	PPCOpen(PPCOpenPBPtr pb, Boolean async);
	OSErr	PPCOpenSync(PPCOpenPBPtr pb);
	OSErr	PPCOpenAsync(PPCOpenPBPtr pb);

	■PPCOpenPBRec	??
	  PPCOpenPBRec
		PPCHeader
		PPCPortRefNum	portRefNum;
		long		filler1;
		PPCServiceType	serviceType;
		uchar		resFlag;
		PPCPortPtr	portName;
		LocationNamePtr	locationName;
		Boolean		networkVisible;
		Boolean		nbpRegistered;
	  PPCOpenPBPtr	PPCOpenPBRec *
/***PPCInform***/ PPCInformSync PPCInformAsync PPCInformPBRec PPCInformPBPtr PPCToolbox
PPCInform(2e)

【名前】
	PPCInform	-
	PPCInformSync	-
	PPCInformAsync	-

【書式】
	OSErr	PPCInform(PPCInformPBPtr pb, Boolean async);
	OSErr	PPCInformSync(PPCInformPBPtr pb);
	OSErr	PPCInformAsync(PPCInformPBPtr pb);

	■PPCInformPBRec	??
	  PPCInformPBRec
		PPCHeader
		PPCPortRefNum	portRefNum;
		PPCSessRefNum	sessRefNum;
		PPCServiceType	serviceType;
		Boolean		autoAccept;
		PPCPortPtr	portName;
		LocationNamePtr	locationName;
		StringPtr	userName;
		ulong		userData;
		PPCSessionOrigin requestType;
	  PPCInformPBPtr	PPCInformPBRec *
/***PPCStart***/ PPCStartSync PPCStartAsync PPCStartPBRec PPCStartPBPtr PPCToolbox
PPCStart(2e)

【名前】
	PPCStart	-
	PPCStartSync	-
	PPCStartAsync	-

【書式】
	OSErr	PPCStart(PPCStartPBPtr pb, Boolean async);
	OSErr	PPCStartSync(PPCStartPBPtr pb);
	OSErr	PPCStartAsync(PPCStartPBPtr pb);

	■PPCStartPBRec	??
	  PPCStartPBRec
	 	PPCHeader
		PPCPortRefNum	portRefNum;
		PPCSessRefNum	sessRefNum;
		PPCServiceType	serviceType;
		uchar		resFlag;
		PPCPortPtr	portName;
		LocationNamePtr	locationName;
		ulong		rejectInfo;
		ulong		userData;
		ulong		userRefNum;
	  PPCStartPBPtr	PPCStartPBRec *
/***PPCAccept***/ PPCAcceptSync PPCAcceptAsync PPCAcceptPBRec PPCAcceptPBPtr PPCToolbox
PPCAccept(2e)

【名前】
	PPCAccept	-
	PPCAcceptSync	-
	PPCAcceptAsync	-

【書式】
	OSErr	PPCAccept(PPCAcceptPBPtr pb, Boolean async);
	OSErr	PPCAcceptSync(PPCAcceptPBPtr pb);
	OSErr	PPCAcceptAsync(PPCAcceptPBPtr pb);

	■PPCAcceptPBRec	??
	  PPCAcceptPBRec
	 	PPCHeader
		short		filler1;
		PPCSessRefNum	sessRefNum;
	  PPCAcceptPBPtr	PPCAcceptPBRec *
/***PPCReject***/ PPCRejectSync PPCRejectAsync PPCRejectPBRec PPCRejectPBPtr PPCToolbox
PPCReject(2e)

【名前】
	PPCReject	-
	PPCRejectSync	-
	PPCRejectAsync	-

【書式】
	OSErr	PPCReject(PPCRejectPBPtr pb, Boolean async);
	OSErr	PPCRejectSync(PPCRejectPBPtr pb);
	OSErr	PPCRejectAsync(PPCRejectPBPtr pb);

	■PPCRejectPBRec	??
	  PPCRejectPBRec
	 	PPCHeader
		short		filler1;
		PPCSessRefNum	sessRefNum;
		short		filler2;
		long		filler3;
		long		filler4;
		ulong		rejectInfo;
	  PPCRejectPBPtr	PPCRejectPBRec *
/***PPCWrite***/ PPCWriteSync PPCWriteAsync PPCWritePBRec PPCWritePBPtr PPCToolbox
PPCWrite(2e)

【名前】
	PPCWrite	-
	PPCWriteSync	-
	PPCWriteAsync	-

【書式】
	OSErr	PPCWrite(PPCWritePBPtr pb, Boolean async);
	OSErr	PPCWriteSync(PPCWritePBPtr pb);
	OSErr	PPCWriteAsync(PPCWritePBPtr pb);

	■PPCWritePBRec	??
	  PPCWritePBRec
		PPCHeader
		short		filler1;
		PPCSessRefNum 	essRefNum;
		Size		bufferLength;
		Size		actualLength;
		Ptr		bufferPtr;
		Boolean		more;
		uchar		filler2;
		ulong		userData;
		OSType		blockCreator;
		OSType		blockType;
	  PPCWritePBPtr	PPCWritePBRec *
/***PPCRead***/ PPCReadSync PPCReadAsync PPCReadPBRec PPCReadPBPtr PPCToolbox
PPCRead(2e)

【名前】
	PPCRead	-
	PPCReadSync	-
	PPCReadAsync	-

【書式】
	OSErr	PPCRead(PPCReadPBPtr pb, Boolean async);
	OSErr	PPCReadSync(PPCReadPBPtr pb);
	OSErr	PPCReadAsync(PPCReadPBPtr pb);

	■PPCReadPBRec	??
	  PPCReadPBRec
		PPCHeader
		short		filler1;
		PPCSessRefNum	sessRefNum;
		Size		bufferLength;
		Size		actualLength;
		Ptr		bufferPtr;
		Boolean		more;
		uchar		filler2;
		ulong		userData;
		OSType		blockCreator;
		OSType		blockType;
	  PPCReadPBPtr	PPCReadPBRec *
/***PPCEnd***/ PPCEndSync PPCEndAsync PPCEndPBRec PPCEndPBPtr PPCToolbox
PPCEnd(2e)

【名前】
	PPCEnd	-
	PPCEndSync	-
	PPCEndAsync	-

【書式】
	OSErr	PPCEnd(PPCEndPBPtr pb, Boolean async);
	OSErr	PPCEndSync(PPCEndPBPtr pb);
	OSErr	PPCEndAsync(PPCEndPBPtr pb);

	■PPCEndPBRec	??
	  PPCEndPBRec
		PPCHeader
		short	filler1;
		PPCSessRefNum sessRefNum;
	  PPCEndPBPtr	PPCEndPBRec *
/***PPCClose***/ PPCCloseSync PPCCloseAsync PPCClosePBRec PPCClosePBPtr PPCToolbox
PPCClose(2e)

【名前】
	PPCClose	-
	PPCCloseSync	-
	PPCCloseAsync	-

【書式】
	OSErr	PPCClose(PPCClosePBPtr pb, Boolean async);
	OSErr	PPCCloseSync(PPCClosePBPtr pb);
	OSErr	PPCCloseAsync(PPCClosePBPtr pb);

	■PPCClosePBRec	??
	  PPCClosePBRec
		PPCHeader
		PPCPortRefNum portRefNum;
	  PPCClosePBPtr	PPCClosePBRec *
/***IPCListPorts***/ IPCListPortsSync IPCListPortsAsync IPCListPortsPBRec IPCListPortsPBPtr PPCToolbox
IPCListPorts(2e)

【名前】
	IPCListPorts	-
	IPCListPortsSync	-
	IPCListPortsAsync	-

【書式】
	OSErr	IPCListPorts(IPCListPortsPBPtr pb, Boolean async);
	OSErr	IPCListPortsSync(IPCListPortsPBPtr pb);
	OSErr	IPCListPortsAsync(IPCListPortsPBPtr pb);

	■IPCListPortsPBRec	??
	  IPCListPortsPBRec
		PPCHeader
		short		filler1;
		ushort		startIndex;
		ushort		requestCount;
		ushort		actualCount;
		PPCPortPtr	portName;
		LocationNamePtr	locationName;
		PortInfoArrayPtr bufferPtr;
	  IPCListPortsPBPtr	IPCListPortsPBRec *
/***DeleteUserIdentity***/ GetDefaultUser StartSecureSession PPCBrowser PPCFilterProcPtr PPCToolbox
DeleteUserIdentity(2e)

【名前】
	DeleteUserIdentity	-
	GetDefaultUser	-
	StartSecureSession	-
	PPCBrowser	-

【書式】
	OSErr	DeleteUserIdentity(ulong userRef);

	OSErr	GetDefaultUser(ulong *userRef, Str32 userName);

	OSErr	StartSecureSession(PPCStartPBPtr pb, Str32 userName,
			Boolean useDefault, Boolean allowGuest,
			Boolean *guestSelected, ConstStr255Param prompt);

	OSErr	PPCBrowser(ConstStr255Param prompt,
			ConstStr255Param applListLabel,
			Boolean defaultSpecified, LocationNameRec *theLocation,
			PortInfoRec *thePortInfo, PPCFilterProcPtr portFilter,
			ConstStr32Param theLocNBPType);

	■PPCFilterProcPtr
	  pascal Boolean (*PPCFilterProcPtr)(LocationNamePtr, PortInfoPtr);
/***PPCServiceType***/ PPCLocationKind PPCPortKinds PPCSessionOrigin PPCPortRefNum PPCSessRefNum PPCCompProcPtr PPCToolbox
PPCServiceType(2e)

【名前】
	PPCServiceType - data type

【形式】
	PPCServiceType		uchar
	PPCLocationKind		short
	PPCPortKinds		short
	PPCSessionOrigin	uchar
	PPCPortRefNum		short
	PPCSessRefNum		long

	PPCCompProcPtr		ProcPtr
/***PPCPortRec***/ PPCPortPtr PPCToolbox
PPCPortRec(2e)

【名前】
	PPCPortRec	-

【形式】
	■PPCPortRec	??
	  PPCPortRec
		ScriptCode nameScript;
		Str32	name;
		PPCPortKinds portKindSelector;
		union {
			Str32 portTypeStr;
			struct {
				OSType creator;
				OSType type;
			} port;
		}	u;
	  PPCPortPtr	PPCPortRec *
/***LocationNameRec***/ LocationNamePtr PPCToolbox
LocationNameRec(2e)

【名前】
	LocationNameRec	-

【形式】
	■LocationNameRec	??
	  LocationNameRec
		PPCLocationKind locationKindSelector;
			union
				EntityName nbpEntity;
				Str32 nbpType;
			} u;
	  LocationNamePtr	LocationNameRec *
/***PortInfoRec***/ PortInfoPtr PortInfoArrayPtr PPCToolbox
PortInfoRec(2e)

【名前】
	PortInfoRec	-

【形式】
	■PortInfoRec	??
	  PortInfoRec
		uchar		filler1;
		Boolean		authRequired;
		PPCPortRec	name;

	  PortInfoPtr		PortInfoRec *
	  PortInfoArrayPtr	PortInfoRec *
/***PPCParamBlockRec***/ PPCParamBlockPtr PPCHeader PPCToolbox
PPCParamBlockRec(2e)

【名前】
	PPCParamBlockRec	-

【形式】
	■PPCParamBlockRec	??
	  PPCParamBlockRec
		union PPCParamBlockRec {
			PPCOpenPBRec	openParam;
			PPCInformPBRec	informParam;
			PPCStartPBRec	startParam;
			PPCAcceptPBRec	acceptParam;
			PPCRejectPBRec	rejectParam;
			PPCWritePBRec	writeParam;
			PPCReadPBRec	readParam;
			PPCEndPBRec 	endParam;
			PPCClosePBRec	closeParam;
			IPCListPortsPBRec listPortsParam;
	  PPCParamBlockPtr	 PPCParamBlockRec  *

	■PPCHeader
	 	Ptr		qLink;
	 	ushort		csCode;
	 	ushort		intUse;
	 	Ptr		intUsePtr;
	 	PPCCompProcPtr	ioCompletion;
	 	OSErr		ioResult;
	 	ulong		Reserved[5];
